Хакер Василий получил доступ к
классному журналу и хочет заменить все свои минимальные оценки на максимальные.
Напишите программу, которая заменяет оценки Василия, но наоборот. :)
Вход. В единственной строке задано
количество оценок Василия (не больше 100), а затем сами оценки.
Выход. Вывести исправленные оценки в том
же порядке.
Пример
входа 1 |
Пример
выхода 1 |
5 1 3 3 3 4 |
1 3 3 3 1 |
|
|
Пример
входа 2 |
Пример
выхода 2 |
8 5 4 2 2 4 2 2 5 |
2 4 2 2 4 2 2 2 |
массивы
Анализ алгоритма
Найдем
минимальный и максимальный элементы массива. Заменим все наибольшие элементы на наименьшие.
Реализация алгоритма
Объявим рабочий
массив.
int m[100];
Читаем входные данные. Находим
минимальный min и максимальный max элементы массива. Инициализируем минимум значением 109, максимум
значением -109.
scanf("%d", &n);
min
= 1000000000;
max
= -1000000000;
for (i = 0; i < n; i++)
{
scanf("%d", &m[i]);
if
(m[i] > max) max = m[i];
if
(m[i] < min) min = m[i];
}
Перебираем элементы массива. Каждый наибольший элемент
заменяем на наименьший.
for (i = 0; i < n; i++)
if
(m[i] == max) m[i] = min;
Выводим ответ.
for (i = 0; i < n; i++)
printf("%d ", m[i]);
printf("\n");